/**
 * Created by yaoxinhui on 2018/5/25.
 */
(function() {
  "use strict";
angular.module('gallawanceApp')
//    .config(["$stateProvider", "$ionicConfigProvider","$httpProvider",function ($stateProvider, $ionicConfigProvider,$httpProvider) {
    .config(["$stateProvider","$httpProvider",function ($stateProvider, $httpProvider) {
      //禁用所有缓存
//      $ionicConfigProvider.views.maxCache(0);
      //添加拦截器
      $httpProvider.interceptors.push('sessionInteceptor');

    }])


  /**
   * 查询条件服务
   * */
  angular.module('gallawanceApp')
    .factory('sessionInteceptor', ["$q","$cookies","$location",function($q,$cookies,$location) {

      var myInterceptor = {};

      //该方法接收请求配置对象(request configuration object)作为参数，然后必须返回配置对象或者 promise 。
      myInterceptor.request = function(requestConfig){
//        console.log("myInterceptor.request userInfoService.getUserKey(): " + userInfoService.getUserKey());
        //为每一个请求添加token，每个请求都合法登录
        if(requestConfig["data"] != "" && requestConfig["data"] != null && requestConfig["data"] != undefined ){
          if($cookies.get("token") ==null){
            $location.path("/admin/login");
          }else{
            requestConfig["data"]["token"] = "wetwert";
          }

        }
        return requestConfig;
      };

      //该方法接收响应对象(response object)作为参数，然后必须返回响应对象或者 promise。
      myInterceptor.response = function(responseObject){
        //判断服务器响应是否为999，如果是则表示没有登录
        if(responseObject.data.status == 999){
          //window.location.href = "/wap/tmpl/member/login.html";
          console.log("responseObject.data.status == 999");
        }
        return responseObject;
      };

      myInterceptor.requestError  = function(rejectReason){
        var deferred = $q.defer();

        console.log("myInterceptor.requestError : " + responseObject);
        return deferred.promise;
      };

      myInterceptor.responseError = function(responseError){
        console.log("myInterceptor.responseError : " + responseObject);
        return {};
      };

      return myInterceptor;

    }]);

})();